package com.bicon.botu.mall.order.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.bicon.botu.mall.order.dto.AllOrderDto;
import com.bicon.botu.mall.order.dto.OrderDto;
import com.bicon.botu.mall.order.entity.GoodsOrder;

import java.util.List;
import java.util.Map;

/**
 * 订单mapper
 *
 * @auther 裴志鹏
 * @date 2017/7/20 10:38
 */
public interface GoodsOrderMapper extends BaseMapper<GoodsOrder> {

    /**
     * 分页查询订单列表
     *
     * @param page 订单分页DTO
     * @param map  参数集合
     * @return
     */
    List<OrderDto> findOrderList(Page<OrderDto> page, Map map);

    /**
     * 修改商品库存
     *
     * @param map 参数集合
     * @return
     */
    int updateRepertory(Map<String, Object> map);

    /**
     * 恢复商品库存
     *
     * @param map 参数集合
     * @return
     */
    int recoverRepertory(Map<String, Object> map);

    /**
     * 我的订单-全部
     *
     * @param page 订单分页DTO
     * @param map  参数集合
     * @return
     */
    List<AllOrderDto> findAllOrder(Page<AllOrderDto> page, Map map);

    /**
     * 从购物车删除订单
     *
     * @param map 参数集合
     * @return
     */
    int deleteCart(Map map);

    /**
     * 查询库存
     *
     * @param map 参数集合
     * @return
     */
    String findRepertory(Map map);

    /**
     * 查询商品是否下架
     *
     * @param map
     * @return
     */
    String findProductUpShelves(Map map);

    /**
     * 修改优惠券使用状态
     *
     * @param map 参数集合
     * @return
     */
    int updateCoupons(Map<String, Object> map);

    /**
     * 根据关键词搜索订单
     * @param map
     * @return
     */
    List<AllOrderDto> queryOrderByGoodsName(Map map);
}
